/**
 * @file record.h
 * @copyright Copyright (C) 2015-2018 Alibaba Group Holding Limited
 */

#ifndef CX_COMMON_H
#define CX_COMMON_H

#include <stddef.h>
#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

/* 录像、抓拍格式 */
typedef enum {
    CX_IMAGE_FORMAT_RGB = 0,
    CX_IMAGE_FORMAT_BGR,
    CX_IMAGE_FORMAT_RGBA,
    CX_IMAGE_FORMAT_BGRA,
    CX_IMAGE_FORMAT_ARGB,
    CX_IMAGE_FORMAT_ABGR,
} cx_raw_img_type_e;

typedef enum {
    CX_VIDEO_FORMAT_H264 = 0,	// AVC
    CX_VIDEO_FORMAT_H265,	    // HEVC
} cx_video_encoding_type_e;

typedef enum {
    CX_AUDIO_SAMPLE_BITS_8BIT  = 0,
    CX_AUDIO_SAMPLE_BITS_16BIT = 1,
} cx_audio_sample_bits_e;

/* 音频声道  */
typedef enum {
    CX_AUDIO_CHANNEL_MONO = 0,
    CX_AUDIO_CHANNEL_STEREO = 1,
} cx_audio_channel_e;

typedef enum {
    CX_PIC_FORMAT_BMP = 0,
    CX_PIC_FORMAT_JPEG,
    CX_PIC_FORMAT_PNG,
    CX_PIC_FORMAT_UNKNOWN,
} cx_pic_type_e;

typedef enum {
    CX_AUDIO_FORMAT_PCM = 0,
    CX_AUDIO_FORMAT_G711A,
    CX_AUDIO_FORMAT_G711U,
} cx_audio_type_e;

typedef enum {
    CX_RECORD_VIDEO_SAVE_BY_FRAME,
    CX_RECORD_VIDEO_SAVE_BY_GOP,
} cx_record_video_save_type_e;

/** @} */

#ifdef __cplusplus
}
#endif

#endif /* CX_RECORD_H */

